#[cfg(test)]
mod tests {
    use testmacro::*;

    #[test]
    fn macro_test() {
        let y = print_expr!(1 + 2 * 3);
    }

    #[test]
    fn derive_test() {
        #[derive(ToString)]
        enum Color {
            Red,
            Green,
            Blue,
        }
        let color = Color::Red;
        assert_eq!("Red", color.to_string());
    }

    #[test]
    fn attri_macro_test() {
        #[log_args(test)]
        fn foo(x: i32, y: i32) -> i32 {
            return x + y;
        }

        let r = foo(2, 3);
        assert_eq!(r, 5);
    }
}